var _fparentid = "-1",IDName = "";
var _index;
var _fnumbers;
var farr=[];
/*
* @Description: 预加载
* @param :
*/
$(function(){
	$.fn.zTree.init($("#bomTree"), setting);
	initBomTable();
});
/*
* @Description: 产品代码文本框按F事件
* @param :
*/
/*	$("input").unbind().bind("keyup",function (event) {
		if(event.keyCode == "118"){
			IDName = event.target.id;
			$("#queryName").text("查询-物料代码");
			$("#ERPModal").modal('show');
		}
	});*/
	

/*$("input").keydown(function(event){
	if(event.keyCode == "118"){
		IDName = event.target.id;
		$("#queryName").text("查询-物料代码");
		$("#ERPModal").modal('show');
	}
});*/
/*
* @Description: 模态框显示事件
* @param :
*/
$('#ERPModal').on('show.bs.modal', function () {
	fnResize();
});
/*
 * @Description: 模态框隐藏事件
 * @param :
 */
$('#ERPModal').on('hidden.bs.modal', function () {
	$.fn.zTree.init($("#bomTree"), setting);
	$('#fnumber,#fname,#fmodel').val("");
	_fparentid = "-1";
	initBomTable();
});

/*
* @Description: 树操作
* @param :
*/
var setting = {
	async : {
		enable : true,
		url : pathUrl("Bom/getAllBom.action"),
		type : "POST",
		dataFilter : filter
	},
	view : {
		dblClickExpand : false,
		selectedMulti : false,
		showIcon : false
	},
	edit : {
		enable : true,
		showRemoveBtn : false,
		showRenameBtn : false
	},
	data : {
		/*
		 * keep: { parent:true, leaf:true },
		 */
		simpleData : {
			enable : true,
		}
	},
	callback : {
		onClick : onClick,
		onAsyncSuccess : zTreeOnAsyncSuccess
	}
};

/*
* @Description: 对返回的json数据进行处理
* @param : treeId	对应zTree的treeId
* @param : parentNode	进行异步加载的父节点 JSON 数据对象
* @param : childNodes	异步加载获取到的数据
*/
function filter(treeId, parentNode, childNodes) {
	//	console.log(childNodes);
	if (!childNodes)
		return null;
	for ( var i = 0, l = childNodes.length; i < l; i++) {
		if (childNodes[i].pId == -1) {
			childNodes[i].open = "true";
		}
	}
	return childNodes;
}

/*
* @Description: 树异步加载正常结束的事件回调
* @param : event	js event对象
* @param : treeId	对应zTree的treeId
* @param : treeNode	被点击的节点JSON数据对象
* @param : msg	异步获取的节点数据字符串
*/
function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) {
//	swal.close();//关闭提示框
}

/*
* @Description: 点击节点事件
* @param : event	js event对象
* @param : treeId	对应zTree的treeId
* @param : treeNode	被点击的节点JSON数据对象
* @param : clickFlag	节点被单击后的选中类型
*/
function onClick(event, treeId, treeNode, clickFlag) {
//	console.log(treeNode);
	var _pId = treeNode.pId;
	var _name = treeNode.name;
	var children = treeNode.children;
	var zTree = $.fn.zTree.getZTreeObj("bomTree");
	
	if(children == undefined){
		_fparentid = treeNode.id;
//		$("#info").text(_name+"BOM信息");
	}else{
		_fparentid = "-1";
		zTree.expandNode(treeNode);
//		$("#info").text("BOM信息");
	}
	$('#fnumber,#fname,#fmodel').val("");
	initBomTable();
}
/*
* @Description: 初始化bom表 
* @param :
*/
function initBomTable() {
	$("#bom").bootstrapTable('destroy').bootstrapTable({
		url : pathUrl("Bom/getAllBomTree.action"),
		height: $(window).height() * 0.65 - 30,
		method : "POST",
		//striped : true,
//		toolbar : '#toolbar',
		cache : false,
//		pagination : true,
//		pageNumber : 1,
//		pageSize : 10,
		sidePagination : "client", // 分页方式：client客户端分页，server服务端分页（*）
//		pageList : [ 10, 25, 50, 100 ],
		queryParams : function(params) {
			var data = {},fnumber = $("#fnumber").val(), fname = $("#fname").val(),
			fmodel =  $("#fmodel").val();
			data.row = 10000000;
			data.fnumber = fnumber;
			data.fname = fname;
			data.fmodel = fmodel;
			if(fnumber == "" && fname == "" && fmodel == ""){
				data.fparentid = _fparentid;
			}
//			console.log(data)
			return data;
		},
		dataType : 'JSON',
		uniqueId : "",
		columns : [ {
			field : 'fNumber',
			align : 'left',
			title : '代码',
			edit : false
		}, {
			field : 'fName',
			align : 'left',
			title : '名称',
			edit : false
		},/* {
			field : 'FFullName',
			align : 'center',
			title : '全名',
			edit : false
		}, */{
			field : 'FHelpCode',
			align : 'center',
			title : '助记码',
			formatter : attribute,
			edit : false
		}, {
			field : 'fModel',
			align : 'left',
			title : '规格型号',
			edit : false
		}],
		onClickRow : function(row, $element) {
		},
		onPageChange : function(number, size) {
		},
		onDblClickRow : function(row, $element){
			console.log($element);
			var kusum=0;
			$.ajax({
				url : pathUrl("icinventory/inventoryQty.action"),
				type : "POST",
				dataType : "JSON",
				data : {
					'fItemID' : row.fItemId,
					'fStockID': row.fDefaultLoc
				},
				success : function(data) {
					kusum=data
				},
				error : function(request) {
					swal_Tips_Error();
				}
			});
			/*if(mm(farr)!=true){
				farr.push(row.fNumber);
			}
			if(mm(farr)==true){
				console.log('sdhkd');
				$.unique(farr);
				console.log(farr);
				swal_Tips('请勿重复添加');
				return false;
			}
			console.log(farr);*/
			farr.push(row.fNumber);
		    var nary = farr.sort();
		    for (var i = 0; i < farr.length; i++) {
		        if (nary[i] == nary[i + 1]) {
		        	$.unique(farr);
		        	swal_Tips("数组重复内容：" + nary[i]);
		        	return false;
		        }
		    } 
			setTimeout(function(){
				$('#mergePickTable').bootstrapTable('updateRow',{index:_index,row:{"fNumber":row.fNumber,"fName":row.fName,"fModel":row.fModel,"fDepId":row.fDefaultLoc,'sum':parseFloat(kusum),'fItemId':row.fItemId,'fUnitId':row.fUnitId}})
			},1500);
			$("#ERPModal").modal('hide');
		}
	});
}
/*
* @Description: 格式化：物料属性
* @param :
*/
function attribute(value,row,index){
	str ="";
	if(value == 1){
		str = "外购";
	}else if(value == 2){
		str = "自制";
	}else if(value == 3){
		str = "委外加工";
	}else if(value == 5){
		str = "虚拟件";
	}
	return str;
}
/*
* @Description: 查询按钮点击事件 
* @param :
*/
$("#cx").click(function() {
	initBomTable();
});
/*
 * @Description: 重置按钮点击事件 
 * @param :
 */
$("#chongzhi").click(function() {
	$('#fnumber,#fname,#fmodel').val("");
	initBomTable();
});
/*
 * @Description: 查询按钮点击事件 
 * @param :
 */
$('#fnumber,#fname,#fmodel').keypress(function(event){
	if(event.keyCode == "13"){
		initBomTable();
	}
});
/*
 * @Description: 浏览器窗口大小改变后：
 * 				 class为ztree，divClassLeft，divClassRight的高度随之改变，
 * 				 divClassLeft的最大高度和最小高度随之改变
 * @param :
 */
function fnResize() {
	var height = $(window).height() * 0.7;//获取浏览器窗口大小
//	console.log(height)
	$("#modal-body").height(height);
	$("#showDivClassRight").height(height - 10);
	document.getElementsByClassName("ztree")[0].style.height = (height - 15) +"px";
//	$(".fixed-table-container thead th .th-inner").attr('padding',0);
}

var nowDay =  jeDate.timeStampDate(Math.round(new Date()/1000),'YYYY-MM-DD');
var nextDay =  jeDate.timeStampDate(Math.round(new Date()/1000)+86400*3,'YYYY-MM-DD');
/*
 * @Description: 预加载
 * @param : 
 */
$(function (){
	resizeIframeHight();
	pullDown();
	reset();
	getNo();
	initMergePickTable();
	$('#mergePickTable').bootstrapTable('append',{"sum":0});
	//点击Tab刷新表格
	$(".WPLE",parent.document).click(function(){
		$('#mergePickTable').bootstrapTable('refresh');
	});
});
/*
 * @Description: 获取编号
 * @param : 
 */
function getNo(){
	$.ajax({
		url : pathUrl("tool/getBillNo.action"),
		type : "POST",
		dataType : "JSON",
		success : function(data) {
			if(data.code == "0000") {
				$("#fBillNo").val(data.dataset);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		},
		complete: function () {
		}
	});
}
/*
 * @Description: 初始化生产车间下拉框里的数据
 * @param : 
 */
function pullDown(){
	$.ajax({//生产车间下拉
		url : pathUrl("department/getDepNameAndId.action"),
		dataType : "JSON",
		success : function(data) {
			//生产车间下拉选里写值
			var option = "";
			$("#fWorkShop").empty();
			option = '<option value="">' + "请选择" + '</option>';
			for (x in data) {
				option += '<option value="' + data[x].value + '">' + data[x].text + '</option>';
			}
			$("#fWorkShop").html(option);
			$('#fWorkShop').selectpicker('refresh');
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 重置按钮点击事件
 * @param : 
 */
$("#resetting").click(function(){
	reset();
});
/*
 * @Description: 重置方法
 * @param : 
 */
function reset(){
	$(".clean_c").val("");
	$('#fWorkShop').selectpicker('refresh');
	$("#fDate").val(nowDay);
	farr=[];
	getNo();
	initMergePickTable();
}

/*
 * @Description: 初始化记录表 
 * @param :  
 */
function initMergePickTable() {
	$('#mergePickTable').bootstrapTable('destroy').bootstrapTable({
		height : $(window).height() - 300,//行高
		dataType : 'JSON',//数据类型
		uniqueId : "fInterID",//每一行的唯一标识，一般为主键列
		columns : [ {
			field : 'fNumber',
			align : 'left',
			title : '物料代码',
			formatter : function(value,row,index){
				_index=index;
				console.log(_index);
				if(value == null){
					return "";
				}else{
					return value;
				}
				
			},
			events:function(e, value, row, index) {
				console.log(row);
			}
		},{
			field : 'fName',
			align : 'left',
			title : '物料名称',
			formatter : function(value,row,index){
				if(value == null){
					return "";
				}else{
					return value;
				}
			}
		},{
			field : "fModel",
			align : 'left',
			title : '规格型号',
			formatter : function(value,row,index){
				if(value == null){
					return "";
				}else{
					return value;
				}
			}
		},{
			field : 'fDepId',
			align : 'left',
			title : '仓库',
			edit:{
				type : 'select',// 下拉框
		    	url : pathUrl("stock/getStockListEmp.action"),
				method : 'POST',//请求方式（必填）
		    	valueField : 'fStockID',
		    	textField : 'fStockName',
		    	onSelect : function(val,rec){
		    		var $tr = $(this)[0].$el.closest("tr");
		    		var index = $tr.data('index');
		    		var row = {};
					row.fDepId = val;
					$('#mergePickTable').bootstrapTable('updateRow',{index: index,row:row});
		    	}
			}
		},{
			field : 'sum',
			align : 'left',
			title : '库存数量',
			edit:false
		},{
			field : 'lQty',
			align : 'left',
			title : '借出数量',
			formatter : function(value,row,index){
				if(value == null){
					return "";
				}else{
					return value;
				}
			}
		},{
			field : 'op',
			align : 'left',
			title : '操作',
			edit:false,
			formatter : function(value,row,index){
				return '<button type="button" class="btn btn-danger delete" style="font-size:12px;margin-right:5px;">删除</button>';
			},
			events : operateEvents
		},{
			field : 'fItemId',
			align : 'left',
			title : '内码',
			 visible: false,
			 formatter : function(value,row,index){
					if(value == null){
						return "";
					}else{
						return value;
					}
			 }
		},{
			field : 'fUnitId',
			align : 'left',
			title : '单位',
			 visible: false,
			 formatter : function(value,row,index){
					if(value == null){
						return "";
					}else{
						return value;
					}
			 }
		}],
		onClickRow : function(row, $element) {//行单击
//			console.log(row)
		},
		onClickCell : function(field,row, $element) {//行单击
		 $('input').unbind().bind("keyup",function (event) {
			if(event.keyCode == "118"){
				IDName = event.target.id;
				$("#queryName").text("查询-物料代码");
				$("#ERPModal").modal('show');
			}
		});
		}
	});
}
$('#mergePickTable').on("click-row.bs.table",function(e, row, $element) {     

    var  index= $element.data('index');
    _index=index;
});
/*
 * @Description: 保存按钮点击事件
 * @param : 
 */
$("#save").click(function(){
	var _getData = $('#mergePickTable').bootstrapTable('getData');
	if(_getData==''){
		swal_Tips("请选择");
		$("input[type='checkbox']").prop('checked', false);
		return false;
	}
	var fWorkShops=$('#fWorkShop').val();
	
	if(fWorkShops==''){
		swal_Tips("请选择部门");
		return false;
	}
	$("#jockeyModal").modal('show');
});
//操作工保存 提交
$("#caosave").click(function(){
	var daoData = [];
	var daojson = [];
	var _getData = $('#mergePickTable').bootstrapTable('getData');
	console.log(_getData);
	$.each(_getData,function(key,value){
		daoData = {
				"fToolId":value.fItemId,
				"fNumber":value.fNumber,
				"fName":value.fName,
				"fModel":value.fModel,
				"fStockId":value.fDepId,
				"fUnitId":value.fUnitId,
				"fOutQty":parseFloat(value.lQty),
		}
		daojson.push(daoData);
	});
	console.log({'fBillNo':$('#fBillNo').val(),'fDepId':parseFloat($('#fWorkShop').val()),'datas':JSON.stringify(daojson)});
	showLoading();
	$.ajax({
		url : pathUrl("tool/toolLean.action"),
		type : "POST",
		dataType : "JSON",
		data : {
			'datas' : JSON.stringify(daojson),
			'fBillNo':$('#fBillNo').val(),
			'fDepId':$('#fWorkShop').val(),
			'fWorker':$('#fWorkerID').val(),
		},
		success : function(data) {
			if (data.code == "0000") {
				swal_Tips_Short(data.message);
				$("#jockeyModal").modal('hide');
				$('#mergePickTable').bootstrapTable('refresh');
				$(".clean_C").val("");
				$(".clean-c").val("");
				reset();
				getNo();
				initMergePickTable();
				farr=[];
			} else if (data.code == "9999") {
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
});
/*
 * @Description: 添加按钮点击事件
 * @param : 
 */
$("#adddai").click(function(){
	$('#mergePickTable').bootstrapTable('append',{"sum":0});
});
//数组正则
function mm(a)
{
return /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f"+a.join("\x0f\x0f") +"\x0f");
}
//操作工回車事件
$("#fWorkerID").keypress(function(event){
	if(event.keyCode == "13"){
		$("#caosave").click();
	}
});
$("#back").click(function(){
	$("#jockeyModal").modal('hide');
});
window.operateEvents= {
		'click .delete' : function(e, value, row, index) {
            $('#mergePickTable').bootstrapTable('remove',{
                field: "fNumber",   //此处的 “id”对应的是字段名
                values: [row.fNumber]
            })
            Array.prototype.indexOf = function(val) {
			    for (var i = 0; i < this.length; i++) {
			        if (this[i] == val) return i;
			    }
			    return -1;
			};
			Array.prototype.remove = function(val) {
			    var index = this.indexOf(val);
			    if (index > -1) {
			        this.splice(index, 1);
			    }
			};
			farr.remove(row.fNumber);
		}
};